<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes"/>
<title>Pycharm代码提示 | pansis.io</title>
<link rel="shortcut icon" href="https://github.pansis.site/favicon.ico">
<link href="https://github.pansis.site/styles/main.css" rel="stylesheet">
<link href="//at.alicdn.com/t/c/font_1678829_b85ccgkdqkr.css" rel="stylesheet">
<link href="//cdnjs.cloudflare.com/ajax/libs/KaTeX/0.10.0/katex.min.css" rel="stylesheet">
<link rel="alternate" type="application/rss+xml" title="pansis.io » Feed" href="https://github.pansis.site/atom.xml">
        <meta name="description" content="Pycharm是一款强大的Python IDE，提供了许多实用的功能，其中之一就是代码提示。代码提示是一种自动补全代码、提示代码错误、提示当前代码风险的功能，它可以大大提高编写代码的效率和减少出错的概率。
代码补全
开启代码补全功能以后，P..." />
        <meta name="keywords" content="Python与OpenCV" />
        <!-- OG -->
        <meta property="og:locale" content="zh_CN">
        <meta property="og:title" content="Pycharm代码提示" />
        <meta property="og:type" content="article" />
        <meta property="og:description" content="Pycharm是一款强大的Python IDE，提供了许多实用的功能，其中之一就是代码提示。代码提示是一种自动补全代码、提示代码错误、提示当前代码风险的功能，它可以大大提高编写代码的效率和减少出错的概率。
代码补全
开启代码补全功能以后，P...">
        <meta property="og:url" content="https://github.pansis.site/post/pycharm-dai-ma-ti-shi/" />
        <meta property="og:site_name" content="pansis.io">
        <meta property="og:updated_time" content="2023-09-05">
        <meta property="og:image" content="" />
        <meta property="og:image:secure_url" content="">
        <meta property="og:image:alt" content="Pycharm代码提示">
        <!-- Twitter (post.ejs) -->
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Pycharm代码提示">
        <meta name="twitter:description" content="Pycharm是一款强大的Python IDE，提供了许多实用的功能，其中之一就是代码提示。代码提示是一种自动补全代码、提示代码错误、提示当前代码风险的功能，它可以大大提高编写代码的效率和减少出错的概率。
代码补全
开启代码补全功能以后，P...">
        <!-- <meta name="twitter:site" content="@WBoy0609">
        <meta name="twitter:creator" content="@WBoy0609"> -->
        <meta name="twitter:image" content="">
</head>

<body>
    <div class="main animated">
        <div class="header animated fadeInDown">
    <div class="site_title_container">
        <div class="site_title">
            <a href="https://github.pansis.site">pansis.io</a>
        </div>
    </div>
    <div class="my_socials">
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
        <a href="https://github.pansis.site/atom.xml" title="rss" target="_blank"><i class="iconfont icon-rss"></i></a>
    </div>
</div>

    <div class="header_menu">
        
            
                <a href="/" class="menu">首页</a>
            
        
            
                <a href="/tag/GWAaV2nvk/" class="menu">程序设计课程</a>
            
        
            
                <a href="/tag/24hangc" class="menu">比赛</a>
            
        
            
                <a href="/tag/L7r9STb75/" class="menu">Python教程</a>
            
        
            
                <a href="/tags" class="menu">分类</a>
            
        
        <div class="gridea-search-div">
            <form id="gridea-search-form" action="https://github.pansis.site/search/">
                <input class="gridea-search-input" autocomplete="off" spellcheck="false" name="q"/>
            </form>
        </div>
    </div>

            <div class="autopagerize_page_element">
                <div class="content">
                    <div class="post_page">
                        <div class="post animated fadeInDown">
                            <div class="post_title post_detail_title">
                                <h2>
                                    Pycharm代码提示
                                </h2>
                                <span class="article-info">
                                    2023-09-05, 984 words, 4 min read
                                </span>
                            </div>
                            <div class="post_content markdown">
                                <p class="md_block">
                                    <span class="md_line md_line_start md_line_end">
                                        <p>Pycharm是一款强大的Python IDE，提供了许多实用的功能，其中之一就是代码提示。代码提示是一种自动补全代码、提示代码错误、提示当前代码风险的功能，它可以大大提高编写代码的效率和减少出错的概率。</p>
<h2 id="代码补全">代码补全</h2>
<p>开启代码补全功能以后，PyCharm将会根据我们正在输入的代码来智能提示我们需要的关键字、变量名、函数名等内容。</p>
<p>比如在Python中，如果要打印输出信息，我们需要使用print()函数。在使用PyCharm时，只需要输入&quot;pri&quot;，IDE将直接提供print函数候选项，此时我们只需要按下回车或Tab键就可以补全第一个候选项。如果选择其他候选项，按方向键选择即可。</p>
<img src="http://cos.pansis.site/202309042259580.png" alt="image-20230904225948500" style="zoom:67%;" />
<h2 id="错误提示">错误提示</h2>
<p>在编写代码时，由于疏忽等原因，我们所写的代码无法正常运行。而Pycharm可以在我们运行之前，就能为我们提示代码存在错误。</p>
<p>下面列出Python中常见的语法错误：</p>
<p>1、代码不对齐</p>
<p>Python与C语言以及其他大多数语言一个巨大区别是Python采用缩进的方式构成代码块，而其他语言采用{}和;的方式来构成代码块。这就要求Python有严格的代码对齐，以确保解释器能够正常识别代码。</p>
<p>如果在使用C语言编写代码时严格遵循代码缩进，那么在Python语言中你将很少出现代码不对齐的情况。</p>
<p>Python的代码对齐可以用C语言的语法进行理解。</p>
<p>在C语言中，{}中的代码组成一个代码块，而Python中两行代码属于同一代码块的标志是两者具有相同的缩进，所以Python代码块中的代码是对齐的。</p>
<p>在C语言中，代码块中每一条代码用;隔开（回车仅仅是为了代码可读性，对于实际代码没有作用），而Python使用回车隔开。</p>
<p>Pycharm可以帮助识别Python代码中存在的代码不对齐问题。</p>
<img src="http://cos.pansis.site/202309042337472.png" alt="image-20230904233703427" style="zoom:67%;" />
<p>2、调用不存在的函数或函数名报错</p>
<img src="http://cos.pansis.site/202309042305867.png" alt="image-20230904230500823" style="zoom:80%;" />
<p>注意这种情况下，Pycharm提供的更正提示并不正确。</p>
<p>3、未引入库（下图未引入opencv库）</p>
<img src="http://cos.pansis.site/202309042306578.png" alt="image-20230904230628536" style="zoom:80%;" />
<p>这种情况，可以点击蓝色文字，IDE将自动安装库（但无法安装opencv，具体原因可自己上网深入了解）（同时该提示自动安装库仅适用于Virtualenv环境下的Python，不适用于Conda环境下的Python），并在代码中自动导入该库。</p>
<h2 id="代码警告">代码警告</h2>
<p>当Pycharm出现代码警告时，你的代码能够正常运行，但代码中可能存在冗余甚至不符合代码逻辑的问题。</p>
<p>1、部分变量赋值无意义</p>
<p>下图abc()函数中，a作为局部变量，在该函数中没有任何实际作用，此时提示该赋值无效。</p>
<img src="http://cos.pansis.site/202309042321838.png" alt="image-20230904232133786" style="zoom: 67%;" />
<p>上述代码仅仅是一个简单的实例，我们能一眼看出该赋值无效。但当代码变得十分复杂时，这种提示有时能快速帮我们排除代码问题。</p>
<p>2、无效条件</p>
<p>下面是一个简单的无效条件实例。该if函数对True进行判定，结果一定为真，无论其他代码怎么样，在这个if语句下，一定会执行<code>print(&quot;123&quot;)</code>，一定不会执行<code>print(&quot;456&quot;)</code>，此时IDE提示我们else下的语句无法被访问。</p>
<img src="http://cos.pansis.site/202309042325348.png" alt="image-20230904232503301" style="zoom:50%;" />
<h2 id="代码运行中常见错误">代码运行中常见错误</h2>
<p>与C语言类似，在代码运行中，如果运行出现错误，代码往往会提供错误信息，包括错误代码运行位置和错误原因。</p>
<p>1、变量未初始化定义就调用</p>
<img src="http://cos.pansis.site/202309042312853.png" alt="image-20230904231233806" style="zoom:67%;" />
<img src="http://cos.pansis.site/202309042313710.png" alt="image-20230904231353658" style="zoom:67%;" />
<p>引用</p>
<p><a href="https://www.ycpai.cn/python/V9PYrVvR.html">pycharm代码提示 - 优草派 (ycpai.cn)</a></p>
<br />
                                            
                                </p>
                            </div>
                            <div class="post_footer">
                                
                                    <div class="meta">
                                        <div class="info"><span class="field tags"><i class="iconfont icon-tag-sm"></i>
                                                
                                                    <a href="https://github.pansis.site/tag/L7r9STb75/" class="article-info">
                                                        Python与OpenCV
                                                    </a>
                                                    
                                            </span>
                                        </div>
                                    </div>
                                    
                                        
                                            <div class="next-post" style="margin-top: 20px;">
                                                <div class="next">下一篇</div>
                                                <a href="https://github.pansis.site/post/pycharm-diao-shi/">
                                                    <h3 class="post-title">
                                                        Pycharm调试
                                                    </h3>
                                                </a>
                                            </div>
                                            
                            </div>
                        </div>
                        
                            
                                <link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">
<script src="https://unpkg.com/gitalk/dist/gitalk.min.js"></script>
<div id="gitalk-container" style="padding-bottom: 20px;"></div>
<script>
    var pageId = (location.pathname).substring(1, 49) // Ensure uniqueness and length less than 50
    pageId = pageId.endsWith('/') ? pageId.slice(0, -1) : pageId // 以斜杠结尾则去除
    var gitalk = new Gitalk({
        clientID: '9d5eba33618472c44a07',
        clientSecret: '065a85ed04333ceebfc4f01d7ca1674175730339',
        repo: 'fzxl2003.github.io',
        owner: 'fzxl2003',
        admin: ['fzxl2003'],
        id: pageId,
        distractionFreeMode: false  // Facebook-like distraction free mode
    })
    gitalk.render('gitalk-container')
</script>
                                    
                                        
                                                    
                    </div>
                </div>
            </div>
    </div>
    <div class="footer">
    
    <div class="powered_by">
        <a href="https://codeberg.org/kytrun/gridea-theme-one" target="_blank">Theme One,</a>
        <a href="https://open.gridea.dev/" target="_blank">Powered by Gridea&#65281;</a>
    </div>
    
    
        <div class="footer_slogan">
            Powered by <a href="https://github.com/getgridea/gridea" target="_blank">Gridea</a>
        </div>
    
    <div id="back_to_top" class="back_to_top">
        <span>△</span>
    </div>
    
</div>

<script src="https://github.pansis.site/media/scripts/util.js"></script>
        <link rel="stylesheet" href="//unpkg.com/@highlightjs/cdn-assets@11.5.1/styles/default.min.css">
        <script src="//unpkg.com/@highlightjs/cdn-assets@11.5.1/highlight.min.js"></script>
        <script>hljs.highlightAll();</script>
</body>

</html>